//
//  NSNetworkInterface.h
//  erhuo
//
//  Created by Jingru Nie on 15/5/12.
//  Copyright (c) 2015年 集易（北京）科技有限公司. All rights reserved.
//

#import <Foundation/Foundation.h>

typedef enum {
    _ERHUO_NETWORK_INTERFACE_NULL_,
    _ERHUO_NETWORK_INTERFACE_USER_LOGIN_,
    _ERHUO_NETWORK_INTERFACE_POST_ADDRESS_LIST_,
    _ERHUO_NETWORK_INTERFACE_ORDER_INSERT_,
    _ERHUO_NETWORK_INTERFACE_POST_ADDRESS_INSERT_,
    _ERHUO_NETWORK_INTERFACE_POST_ADDRESS_UPDATE_,
    _ERHUO_NETWORK_INTERFACE_ORDER_LIST_SELL_,
    _ERHUO_NETWORK_INTERFACE_ORDER_LIST_BUY_,
    _ERHUO_NETWORK_INTERFACE_ORDER_DETAIL_,
    _ERHUO_NETWORK_INTERFACE_ORDER_UPDATE_,
    _ERHUO_NETWORK_INTERFACE_DRAWBACK_CANCEL_,
    _ERHUO_NETWORK_INTERFACE_DRAWBACK_DEAL_,
    _ERHUO_NETWORK_INTERFACE_DRAWBACK_APPLY_,
    _ERHUO_NETWORK_INTERFACE_ORDER_CLOSE_,
    _ERHUO_NETWORK_INTERFACE_ORDER_REMIND_,
    _ERHUO_NETWORK_INTERFACE_ORDER_SEND_,
    _ERHUO_NETWORK_INTERFACE_ORDER_WALLET_,
    _ERHUO_NETWORK_INTERFACE_ORDER_WILLPAY_,
    _ERHUO_NETWORK_INTERFACE_ORDER_PAY_,
    _ERHUO_NETWORK_INTERFACE_ORDER_RECEIVE_,
    _ERHUO_NETWORK_INTERFACE_EXPRESS_QUERY_,
    _ERHUO_NETWORK_INTERFACE_BILLS_QUERY_,
    _ERHUO_NETWORK_INTERFACE_WITHDRAW_APPLY_
} _ERHUO_NETWORK_INTERFACE_;


@interface NSNetworkInterface : NSObject

@property(nonatomic, strong)id delegate;

/**
 *   接口类初始化
 *
 *  @param type 接口类型，由 _ERHUO_NETWORK_INTERFACE_ 定义
 *  @param data POST 数据
 *  @return 返回接口对象
 */
- (instancetype)initWith:(_ERHUO_NETWORK_INTERFACE_)type withData:(NSDictionary *)data;

/**
 *  发送网络请求
 */
- (void)sendRequest;

/**
 *  该接口类的请求接口
 *
 *  @return 请求接口
 */
- (_ERHUO_NETWORK_INTERFACE_)requestType;

@end





/**
 *  网络接口协议
 */
@protocol NSNetworkInterfaceDelegate <NSObject>

@required

/**
 *  网络请求完成后的回调
 *
 *  @param interface 接口对象
 *  @param data      收到的网络数据
 *  @param code      错误码
 *  @param error     错误描述
 */
- (void)networkInterface:(NSNetworkInterface *)interface ResponseWith:(NSDictionary *)data code:(NSInteger)code error:(NSString *)error;

@end
